Carregando as libs e preparando os dados
library(scales)
library(plotly)
library(dplyr)
library(readr)
library(lubridate)
library(leaflet)
at2015 <- read_delim("https://raw.githubusercontent.com/miqueiaspnasc/eda/master/data/acidentes-transito-2015.csv",
";", escape_double = FALSE, locale = locale(encoding = "ISO-8859-1"),
trim_ws = TRUE)
at2016 <- read_delim("https://raw.githubusercontent.com/miqueiaspnasc/eda/master/data/acidentes-transito-2016.csv",
";", escape_double = FALSE, locale = locale(encoding = "ISO-8859-1"),
trim_ws = TRUE)
at2017 <- read_delim("https://raw.githubusercontent.com/miqueiaspnasc/eda/master/data/acidentes-transito-2017.csv",
";", escape_double = FALSE, locale = locale(encoding = "ISO-8859-1"),
trim_ws = TRUE)
at2018 <- read_delim("https://raw.githubusercontent.com/miqueiaspnasc/eda/master/data/acidentes-transito-2018.csv",
";", escape_double = FALSE, locale = locale(encoding = "ISO-8859-1"),
trim_ws = TRUE)
at <- rbind(at2015, at2016, at2017, at2018)
at %>% mutate(data = dmy(paste('01', at$`Mês Óbito`, at$`Ano Óbito`))) %>%
mutate(Trimestre = quarter(data)) -> at
at %>% mutate(lat = as.numeric(gsub(',', ".", at$`LAT_(geo)`))) -> at
at %>% mutate(lon = as.numeric(gsub(',', ".", at$`LONG_(geo)`))) -> at
Por ano
at %>% count(`Ano Óbito`) %>%
ggplot(aes(x=`Ano Óbito`, y=n)) + geom_bar(stat='identity', fill='red') +
scale_y_continuous(labels=comma) +
labs(x='Ano', y='Número de Óbitos', title='Óbitos por Ano')

Por trimestre
at %>% select(`Ano Óbito`, Trimestre) %>% group_by(`Ano Óbito`) %>% count(Trimestre) %>%
ggplot(aes(x=as.factor(Trimestre), y=n)) + geom_bar(stat='identity', fill='red') +
scale_y_continuous(labels=comma) + facet_grid(.~`Ano Óbito`) + labs(x='Trimestre', y='Número de Óbitos')

Por mês
at %>% count(data) %>%
ggplot(aes(x=month(data, label=TRUE), y=n)) + geom_bar(stat='identity', fill='red') +
scale_y_continuous(labels=comma) +
labs(x='Mês', y='Número de Óbitos', title='Óbitos por Mês')

Por dia da semana
at %>% count(data) %>%
ggplot(aes(x=wday(data, label=TRUE), y=n)) + geom_bar(stat='identity', fill='red') +
scale_y_continuous(labels=comma) +
labs(x='Dia', y='Número de Óbitos', title='Óbitos por Dia da Semana')

Por Turno
at %>% count(Turno) %>%
ggplot(aes(x=Turno, y=n)) + geom_bar(stat='identity', fill='red') +
scale_y_continuous(labels=comma) +
labs(x='Turno', y='Número de Óbitos', title='Óbitos por Turno')

Distribuição dos acidentes
labels <- paste0("<strong>Cidade: </strong>", at$`Cidade Considerada`,
"<br><strong>Tipo de Acidente: </strong>", at$`Tipo Acidente`,
"<br><strong>Tipo de Veículo: </strong>", at$`Tipo Veiculo`) %>% lapply(htmltools::HTML)
at %>% filter(!is.na(lat) & !is.na(lon)) %>% leaflet() %>%
setView(lng=-48, lat=-22.5, zoom=7) %>%
addTiles() %>%
addProviderTiles("CartoDB.Positron") %>%
addScaleBar %>%
addMarkers(~lon, ~lat, label = labels,
clusterOptions = markerClusterOptions())